Many prior network coding systems for wireless networks utilize network coding across unicast sessions to improve network throughput. Network coding is a technique of routing packets in a network where nodes (e.g., routers) combine packets together for transmission to the next node. Currently, network coding is deployed in wireless networks because of the inherent packet broadcast and overhearing capabilities of these networks.
One network coding system that has been studied for wireless networks is called COPE. COPE is a network architecture that enables opportunistic listening and opportunistic coding of network packets between nodes in a wireless network. The COPE architecture codes packets from different unicast sessions together at a node and relies on the receiving nodes being able to decode these combined packets using overheard packets. In this manner, the COPE architecture forwards multiple packets from different sources together in a single transmission to improve network throughput.